Cache memory is often used in processing systems to store, for example, copies of frequently used data from main memory, store data evicted from a central processing unit cache, etc. This can allow faster respond time for a future request for the data in the cache memory. A cache hit occurs when the requested data can be found in the cache memory. A cache miss occurs when the requested data cannot be found in the cache memory.
Conventional cache replacement algorithms are generally employed for an “inclusive” cache memory (e.g., a cache memory where “hit” data remains in the cache memory). Furthermore, conventional cache replacement algorithms generally cannot be employed in an “exclusive” cache memory (e.g., a cache memory where “hit” data is removed from the cache memory) since an access history cannot be determined for such hit data. For example, conventional cache memory (e.g., conventional Level-3 cache memory) is unable to retain any cache hit history of data since data associated with a cache hit is read and subsequently removed from the cache memory. Therefore, conventional cache memory systems cannot track data which has temporal and/or spatial locality within the cache memory. As such, data in cache memory which could potentially be a cache hit is evicted from the cache memory, and thus performance of conventional cache memory systems is reduced.
Moreover, scanning (e.g., where a smaller reusable dataset is intermixed with larger non-reusable dataset) and thrashing (e.g., where a dataset cannot be stored in cache memory due to a size of the dataset) are common phenomena in conventional cache memory systems where data with either no re-reference intervals or very long re-reference intervals cause data with short re-reference intervals to be removed from cache memory before the data can be reused. Accordingly, low hit ratios are common in conventional cache memory systems.
The above-described description is merely intended to provide a contextual overview of current cache memory systems and is not intended to be exhaustive.